package com.yunyao.common.dto.excel;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class ReconciliationExcelDto implements Serializable {
    /**
     * 主键ID
     */
    @ExcelIgnore
    private String id;

    /**
     * 对账周期开始时间
     */
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date reconciliationStartDate;

    /**
     * 对账周期结束时间
     */
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date reconciliationEndDate;

    /**
     * 销售合同ID
     */
    @ExcelIgnore
    private String contractId;

    /**
     * 销售合同编号
     */
    @Excel(name = "合同编号", orderNum = "1")
    private String contractNo;

    /**
     * 合同名称
     */
    @Excel(name = "合同名称", orderNum = "2")
    private String contractName;

    /**
     * 采购单位ID
     */
    @ExcelIgnore
    private String purchaseDeptId;

    /**
     * 采购单位名称
     */
    @ExcelIgnore
    private String purchaseDeptName;

    /**
     * 项目ID
     */
    @ExcelIgnore
    private String projectId;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称", orderNum = "3")
    private String projectName;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商", orderNum = "4")
    private String supplierDeptName;

    /**
     * 供货订单数量
     */
    @Excel(name = "验收清单", orderNum = "8")
    private Integer supplyNum;

    /**
     * 供货订单含税总价
     */
    @Excel(name = "含税总价（元）", orderNum = "5")
    private BigDecimal supplyIncludingTaxTotalPrice;

    /**
     * 对账确认时间
     */
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date reconciliationConfirmDate;



    /**
     * 创建时间
     */
    @Excel(name = "创建时间",orderNum = "10")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createdAt;




    /**
     * 业务状态 1:正常
     */
    @Excel(name = "状态", orderNum = "13")
    private Integer status;


    /**
     * 流程审批状态
     */
    @Excel(name = "对账状态", orderNum = "12")
    private String auditStatus;


    /**
     * 提醒结算的时间
     */
    @ExcelIgnore
    @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
    private Date remindDate;


    /**
     * 对账含税总金额
     */
    @Excel(name = "确认含税总价（元）", orderNum = "6")
    private BigDecimal reconciliationPrice;


    @Excel(name = "价格类型", orderNum = "7")
    private String priceType;
    @Excel(name = "付款周期", orderNum = "11")
    private String paymentCycle;
}
